package com.ta.gulimall.cart.service;

import com.sun.org.apache.xpath.internal.operations.Bool;
import com.ta.gulimall.cart.view.vo.Cart;
import com.ta.gulimall.cart.view.vo.CartItem;

import java.util.List;
import java.util.concurrent.ExecutionException;

public interface CartService {
    /**
     * 添加购物车
     * @param skuId
     * @param num
     */
    void addCart(Long skuId, Integer num) throws ExecutionException, InterruptedException;

    /**
     * 获取当个临时购物车或者用户购物车商品
     * @param skuId
     * @return
     */
    CartItem getCartItem(Long skuId);

    /**
     * 修改购物车数量
     * @param skuId
     * @param num
     */
    void cartCount(Long skuId, Integer num);

    /**
     * 修改选中状态
     * @param skuId
     * @param status
     */
    void cartSelected(Long skuId, Boolean status);

    /**
     * 删除购物车商品
     * @param skuId
     */
    void cartDelete(Long skuId);

    /**
     * 用户或者临时用户购物车商品
     * @return
     */
    Cart cartList ();

    /**
     * 结算选中的购物车商品
     * @return
     */
    List<CartItem> checkCart();
}
